<?php

namespace App\Http\Controllers\Common;

use App\Notifications\CodeNotification;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class CodeController extends Controller
{
    //下面这个方法是注册邮箱验证时的异步请求的时候指定的处理请求的方法
    public function send(Request $request, User $user)
    {
//        也可以在这里判断$request请求过来的email地址格式是否正确.可以使用正则表达式进行验证
        //用这个插件的时候返回过来的存放邮箱地址的数组键名为username
        if (!preg_match('/@/',$request->input('username'))){
//            如果进入到这个方法体说明,传递过来的邮箱格式不正确,
            return ['code'=>'44','message'=>'邮箱格式不正确'];
        }
        //dd($request->all());    打印异步请求的数据,需要在chrome浏览器控制台的network中的XHR中看
        $user->fill(['email' => $request->input('username')]);
//  $var = ['email'=>$request->input('username')];
        $user->notify(new CodeNotification($user));
        //最后给这个异步请求返回一个数组,在这里laravel框架会自动将这个数组转成json的形成给发起请求的异步申请返回去
        //这里使用的hdjs中的这个插件会自动将ajax中异步请求中的返回的信息中的message中的内容显示给用户.
        return ['code'=>0,'message' => '验证码发送成功'];
    }
}
